package cn.kgc.novel.service;

import cn.kgc.novel.pojo.Bookshelf;
import cn.kgc.novel.pojo.Users;

import java.util.List;
//杨将
public interface UsersService {
    //<!--    根据数字降序-->
    List<Users> selectx1(String sex, String category, String status, String num);
    //<!--    根据创建时间从新到旧排序-->
    List<Users> selectx2(String sex, String category, String status,String num);
    //<!--    根据热度降序-->
    List<Users> selectx3(String sex, String category, String status,String num);
    //根据小说名查作者
    public List<Users> checktheauthor(String bookname);
    //根据作者名查找所写的小说
    public List<Users> novelauthorname(String name);
    //查询作者和小说名
    public List<Users> flieshow();
    //查询所有user
    List<Users> findList(Users users);
    //通过id查询user
    Users findById(Integer uid);
    //修改信息
    void edit(Users users);

    void register(Users users);

    void delete(Integer uid);
    //通过账号查找user
    Users findByAccount(String account);
    //注册mongodb
    void regMongo(int uid);
    //通过uid,bid来查看历史阅读记录
    int getHistById(int uid, int bid);
    //添加历史阅读记录
    void addHis(int uid, int bid, int cid);
    //修改历史阅读记录
    void updateHis(int uid, int bid, int cid);
    //查看是否加入书架
    int findShelf(int uid, int bid);
    //加入书架
    void addShelf(int uid, int bid);
    //移除书架
    void delShelf(int uid, int bid);
    //通过uid来查看书架的书籍
    List<Bookshelf> findShelfById(int uid);

    List<Users> find();

    Users logintwo(String phone, String account,String password);

    void registertwo(String phone, String password);

    int updatepassword(String phone, String newpassword);


    //2023-11-21 查询管理员
    List<Users> findAdmin(String name);
    //2023-11-21 添加管理员
    void addAdmin(Users admin);
    //2023-11-21 删除管理员
    void deleteAdmin(Integer uid);

    //新写的
//从普通用户成为作者
    void updatePermissionszz(String name);
    //从普通用户到待审核
    void UpdatePermissionsdsh(String name);
    //从普通用户到封禁
    void UpdatePermissionsdfj(String name,String uid);
    //从封禁到用户到普通用户
    void updatePermissionspt(String name,String uid);

    //2023-11-23查询所有待审核的用户
    List<Users> selectdsh();
}
